home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- int rT187use_current(T187 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT187clone(T187 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT187compile_to_c_old(T187 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT187compile_to_c(T187 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT187dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT187to_integer(T187 *C){
- int R=0;
- rT187error(rT187start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT187dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT187written_in(T187 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT187start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT187copy(T187 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT187is_a(T187 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT187start_position(C));
- rT187error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT187make_call_1(T187 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT187make(T187 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT187fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms312,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT187make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT186is_static(T186 *C){
- int R=0;
- /*IF*/if (XrT58is_integer((C)->_result_type)) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT186arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))/(XrT68static_value(rT186arg1(C)));
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT186static_value(T186 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT186fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT186to_runnable_0(T186 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT186error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT186error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT186to_runnable(T186 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT186to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT186error(XrT68start_position(rT186arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT186arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT186clone(C,(T0 *)C);
- /*(IRF3*/(((T186*)R)->_current_type)=(NULL);
- /*)*/R=rT186to_runnable((T186*)R,a1);
- }
- /*FI*/return R;
- }
- void rT186error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT186add_comment(T186 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT186arg1(T186 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT186start_position(T186 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT186use_current(T186 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT186clone(T186 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT186compile_to_c_old(T186 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT186compile_to_c(T186 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT186dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT186to_integer(T186 *C){
- int R=0;
- rT186error(rT186start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT186dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT186written_in(T186 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT186start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT186copy(T186 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT186is_a(T186 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT186start_position(C));
- rT186error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT186make_call_1(T186 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT186make(T186 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT186fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms310,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT186make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT185is_static(T185 *C){
- int R=0;
- /*IF*/if (XrT58is_integer((C)->_result_type)) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT185arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))*(XrT68static_value(rT185arg1(C)));
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT185static_value(T185 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT185fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT185to_runnable_0(T185 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT185error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT185error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT185to_runnable(T185 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT185to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT185error(XrT68start_position(rT185arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT185arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT185clone(C,(T0 *)C);
- /*(IRF3*/(((T185*)R)->_current_type)=(NULL);
- /*)*/R=rT185to_runnable((T185*)R,a1);
- }
- /*FI*/return R;
- }
- void rT185error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT185add_comment(T185 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT185arg1(T185 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT185start_position(T185 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT185use_current(T185 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT185clone(T185 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT185compile_to_c_old(T185 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT185compile_to_c(T185 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT185dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT185to_integer(T185 *C){
- int R=0;
- rT185error(rT185start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT185dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT185written_in(T185 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT185start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT185copy(T185 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT185is_a(T185 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT185start_position(C));
- rT185error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT185make_call_1(T185 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT185make(T185 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT185fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms308,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT185make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT184is_static(T184 *C){
- int R=0;
- /*IF*/if (XrT58is_integer((C)->_result_type)) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT184arg1(C)))) {
- R=1;
- C->_static_value_mem=rT2_ix94(XrT68static_value((C)->_target),XrT68static_value(rT184arg1(C)));
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT184static_value(T184 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT184fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT184to_runnable_0(T184 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT184error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT184error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT184to_runnable(T184 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT184to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT184error(XrT68start_position(rT184arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT184arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT184clone(C,(T0 *)C);
- /*(IRF3*/(((T184*)R)->_current_type)=(NULL);
- /*)*/R=rT184to_runnable((T184*)R,a1);
- }
- /*FI*/return R;
- }
- void rT184error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT184add_comment(T184 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT184arg1(T184 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT184start_position(T184 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT184use_current(T184 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT184clone(T184 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT184compile_to_c_old(T184 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT184compile_to_c(T184 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT184dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT184to_integer(T184 *C){
- int R=0;
- rT184error(rT184start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT184dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT184written_in(T184 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT184start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT184copy(T184 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT184is_a(T184 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT184start_position(C));
- rT184error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT184make_call_1(T184 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT184make(T184 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT184fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms306,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT184make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT182is_static(T182 *C){
- int R=0;
- R=rT182call_is_static(C);
- return R;
- }
- int rT182static_value(T182 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT182fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT182to_runnable_0(T182 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT182error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT182error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT182to_runnable(T182 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT182to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT182error(XrT68start_position(rT182arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT182arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT182clone(C,(T0 *)C);
- /*(IRF3*/(((T182*)R)->_current_type)=(NULL);
- /*)*/R=rT182to_runnable((T182*)R,a1);
- }
- /*FI*/return R;
- }
- void rT182error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT182add_comment(T182 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT182arg1(T182 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT182start_position(T182 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT182use_current(T182 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT182clone(T182 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0* rT182operator(T182 *C){
- T0* R=NULL;
- R=((T70*)(C)->_feature_name)->_to_string;
- return R;
- }
- void rT182compile_to_c_old(T182 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT182compile_to_c(T182 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT182dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT182to_integer(T182 *C){
- int R=0;
- rT182error(rT182start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT182dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT182written_in(T182 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT182start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT182copy(T182 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT182call_is_static(T182 *C){
- int R=0;
- T0 * _rc=NULL;
- /*IF*/if (((int)(C)->_run_feature)) {
- _rc=XrT261run_class((C)->_run_feature);
- /*IF*/if ((rT263count((T263*)((T260*)_rc)->_running))==(1)) {
- /*IF*/if (XrT261is_static((C)->_run_feature)) {
- C->_static_value_mem=XrT261static_value_mem((C)->_run_feature);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT182is_a(T182 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT182start_position(C));
- rT182error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT182make_infix(T182 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT182fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,rT182operator(C),a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT182make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- void rT182make_call_1(T182 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT182make(T182 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT182make_call_1(C,a1,a2,_eal);
- }
- int rT175is_static(T175 *C){
- int R=0;
- T0 * _rc=NULL;
- /*IF*/if (((int)(C)->_run_feature)) {
- _rc=XrT261run_class((C)->_run_feature);
- /*IF*/if ((rT263count((T263*)((T260*)_rc)->_running))==(1)) {
- /*IF*/if (XrT261is_static((C)->_run_feature)) {
- C->_static_value_mem=XrT261static_value_mem((C)->_run_feature);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT175static_value(T175 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT175to_runnable_0(T175 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT175error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT175error(XrT67start_position((C)->_feature_name),(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT175to_runnable(T175 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT175to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT175error(rT170start_position((T170*)(C)->_arguments),(T0 *)ms1143);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT175clone(C,(T0 *)C);
- /*(IRF3*/(((T175*)R)->_current_type)=(NULL);
- /*)*/R=rT175to_runnable((T175*)R,a1);
- }
- /*FI*/return R;
- }
- void rT175error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT175add_comment(T175 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT175start_position(T175 *C){
- T0 * R=NULL;
- R=XrT67start_position((C)->_feature_name);
- return R;
- }
- int rT175use_current(T175 *C){
- int R=0;
- /*IF*/if ((rT175arg_count(C))>(0)) {
- R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT175clone(T175 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT175compile_to_c_old(T175 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/if ((rT175arg_count(C))>(0)) {
- rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT175compile_to_c(T175 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT175dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT175to_integer(T175 *C){
- int R=0;
- rT175error(rT175start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT175dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT175written_in(T175 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT175start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT175copy(T175 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT175is_a(T175 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT175start_position(C));
- rT175error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- int rT175arg_count(T175 *C){
- int R=0;
- R=rT170count((T170*)(C)->_arguments);
- return R;
- }
- void rT175make(T175 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- int rT174is_static(T174 *C){
- int R=0;
- T0 * _rc=NULL;
- /*IF*/if (((int)(C)->_run_feature)) {
- _rc=XrT261run_class((C)->_run_feature);
- /*IF*/if ((rT263count((T263*)((T260*)_rc)->_running))==(1)) {
- /*IF*/if (XrT261is_static((C)->_run_feature)) {
- C->_static_value_mem=XrT261static_value_mem((C)->_run_feature);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT174static_value(T174 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT174to_runnable_0(T174 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT174error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT174error(XrT67start_position((C)->_feature_name),(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT174to_runnable(T174 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT174to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT174error(XrT68start_position(rT174arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT174arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT174clone(C,(T0 *)C);
- XrT174set_current_type(R,NULL);
- R=XrT174to_runnable(R,a1);
- }
- /*FI*/return R;
- }
- void rT174error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT174add_comment(T174 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT174arg1(T174 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT174start_position(T174 *C){
- T0 * R=NULL;
- R=XrT67start_position((C)->_feature_name);
- return R;
- }
- int rT174use_current(T174 *C){
- int R=0;
- /*IF*/if ((/*(IRF4*/1/*)*/)>(0)) {
- R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT174clone(T174 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT174compile_to_c_old(T174 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/if ((/*(IRF4*/1/*)*/)>(0)) {
- rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT174compile_to_c(T174 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT174dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT174to_integer(T174 *C){
- int R=0;
- rT174error(rT174start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT174dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT174written_in(T174 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT174start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT174copy(T174 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT174is_a(T174 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT174start_position(C));
- rT174error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT174make(T174 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- int rT163is_static(T163 *C){
- int R=0;
- T0* _name=NULL;
- /*IF*/if (((int)(C)->_run_feature)) {
- _name=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_name)) {
- R=1;
- /*IF*/if (XrT58is_expanded(XrT68result_type((C)->_target))) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- else {
- R=rT163call_is_static(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT163static_value(T163 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT163to_runnable_0(T163 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT163error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT163error(XrT67start_position((C)->_feature_name),(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT163to_runnable(T163 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT163to_runnable_0(C,a1);
- /*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((XrT261arg_count((C)->_run_feature))>(0))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_feature_name));
- rT163error(XrT261start_position((C)->_run_feature),(T0 *)ms1132);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT163clone(C,(T0 *)C);
- XrT163set_current_type(R,NULL);
- R=XrT163to_runnable(R,a1);
- }
- /*FI*/return R;
- }
- void rT163error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT163add_comment(T163 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT163start_position(T163 *C){
- T0 * R=NULL;
- R=XrT67start_position((C)->_feature_name);
- return R;
- }
- int rT163use_current(T163 *C){
- int R=0;
- /*IF*/if ((/*(IRF4*/0/*)*/)>(0)) {
- R=rT170use_current((T170*)/*(IRF4*/NULL/*)*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT163clone(T163 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- int rT163can_be_dropped(T163 *C){
- int R=0;
- /*IF*/if (XrT68is_current((C)->_target)) {
- R=XrT261can_be_dropped((C)->_run_feature);
- }
- /*FI*/return R;
- }
- void rT163compile_to_c_old(T163 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/if ((/*(IRF4*/0/*)*/)>(0)) {
- rT170compile_to_c_old((T170*)/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- void rT163compile_to_c(T163 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT163dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,/*(IRF4*/NULL/*)*/);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- int rT163to_integer(T163 *C){
- int R=0;
- T0 * _rf1=NULL;
- _rf1=(C)->_run_feature;
- if ((int)_rf1) switch (((T0 *)_rf1)->id) {
- case 277:
- break;
- default:
- _rf1 = NULL;
- };/*IF*/if (!(_rf1)) {
- rT163error(rT163start_position(C),(T0 *)ms175);
- }
- else {
- R=XrT68to_integer(((T277*)_rf1)->_value);
- }
- /*FI*/return R;
- }
- T0 * rT163dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT163written_in(T163 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT163start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT163copy(T163 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT163call_is_static(T163 *C){
- int R=0;
- T0 * _rc=NULL;
- /*IF*/if (((int)(C)->_run_feature)) {
- _rc=XrT261run_class((C)->_run_feature);
- /*IF*/if ((rT263count((T263*)((T260*)_rc)->_running))==(1)) {
- /*IF*/if (XrT261is_static((C)->_run_feature)) {
- C->_static_value_mem=XrT261static_value_mem((C)->_run_feature);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT163is_a(T163 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT163start_position(C));
- rT163error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- int rT163is_pre_computable(T163 *C){
- int R=0;
- /*IF*/if (XrT68is_current((C)->_target)) {
- R=XrT261is_pre_computable((C)->_run_feature);
- }
- /*FI*/return R;
- }
- void rT163make(T163 *C,T0 * a1,T0 * a2){
- C->_target=a1;
- C->_feature_name=a2;
- }
- int rT161is_static(T161 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if (XrT68is_static((C)->_target)) {
- R=1;
- /*IF*/if ((XrT68static_value((C)->_target))==(0)) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
-